#pragma once
#ifndef ANALYSIS_H_
#define ANALYSIS_H_
#include <vector>
#include <string>
#include "molsys.h"
std::vector<double> AutoCorrelationFunc(const std::vector<double> elem, const int iTtotal);

double SelfDiffusionCoefficient(const std::string &traj_file, const double &dt);

double SelfDiffusionCoefficient(const std::vector<std::vector<double>> &vxs,
                                const std::vector<std::vector<double>> &vys,
                                const std::vector<std::vector<double>> &vzs,
                                const double &dt);
double SelfDiffusionCoefficient(const std::vector<double> &vacf, const double &dt);

void ReadTrajectory(const std::string &traj_file, std::vector<int> &steps, std::vector<MolSys> &mols);

#endif